package models

import (
	"time"
)

// MaRobot [...]
type MaRobot struct {
	RobotID             string    `gorm:"autoIncrement:true;primaryKey;unique;column:robot_id;type:int unsigned;not null;comment:自增唯一机器ID" json:"robot_id" json_old:"RobotID"`
	ID                  string    `gorm:"autoIncrement:false;primaryKey;column:id;type:bigint;not null;comment:商户ID" json:"id" json_old:"ID"`
	MerchantID          string    `gorm:"index:idx_merchantid;primaryKey;column:merchant_id;type:varchar(30);not null;comment:商户id" json:"merchant_id" json_old:"MerchantID"`
	SalesID             string    `gorm:"primaryKey;unique;column:sales_id;type:varchar(50);not null;comment:售货识别ID 序列号" json:"sales_id" json_old:"SalesID"`
	RobotType           string    `gorm:"column:robot_type;type:varchar(255);default:null;comment:机器人类型" json:"robot_type" json_old:"RobotType"`
	RobotName           string    `gorm:"primaryKey;unique;column:robot_name;type:varchar(50);not null;comment:机器人名称" json:"robot_name" json_old:"RobotName"`
	AddTime             time.Time `gorm:"primaryKey;column:add_time;type:datetime;not null;comment:设备添加时间" json:"add_time" json_old:"AddTime"`
	Activation          uint      `gorm:"column:activation;type:int unsigned;default:0;comment:是否已激活" json:"activation" json_old:"Activation"`
	OnLine              int       `gorm:"column:on_line;type:int(2) unsigned zerofill;default:00;comment:是否在线" json:"on_line" json_old:"OnLine"`
	LastReportedTime    time.Time `gorm:"column:last_reported_time;type:datetime;default:null;comment:设备最后上报时间" json:"last_reported_time" json_old:"LastReportedTime"`
	PaymentMethod       uint      `gorm:"column:payment_method;type:int unsigned;default:0;comment:支付方式:0000-无【0】0001-微信二维码【1】0010-支付宝二维码【2】0100-支付宝人脸【4】1000-刷卡【8】10000-好邻居支付【16】" json:"payment_method" json_old:"PaymentMethod"`
	Phone               string    `gorm:"column:phone;type:varchar(255);default:null" json:"phone" json_old:"Phone"`
	OpeningFlag         string    `gorm:"column:opening_flag;type:varchar(255);default:null" json:"opening_flag" json_old:"OpeningFlag"`
	OpeningTime         string    `gorm:"column:opening_time;type:varchar(255);default:null" json:"opening_time" json_old:"OpeningTime"`
	PaymentType1        string    `gorm:"column:payment_type1;type:tinyint(1);default:null" json:"payment_type1" json_old:"PaymentType1"`
	PaymentType2        string    `gorm:"column:payment_type2;type:tinyint(1);default:null" json:"payment_type2" json_old:"PaymentType2"`
	PaymentType3        string    `gorm:"column:payment_type3;type:tinyint(1);default:null" json:"payment_type3" json_old:"PaymentType3"`
	PaymentType4        string    `gorm:"column:payment_type4;type:tinyint(1);default:null" json:"payment_type4" json_old:"PaymentType4"`
	Payment1            int       `gorm:"column:payment1;type:tinyint;default:null" json:"payment1" json_old:"Payment1"`
	Payment2            int       `gorm:"column:payment2;type:tinyint(1);default:null" json:"payment2" json_old:"Payment2"`
	Payment3            int       `gorm:"column:payment3;type:tinyint(1);default:null" json:"payment3" json_old:"Payment3"`
	Payment4            int       `gorm:"column:payment4;type:tinyint(1);default:null" json:"payment4" json_old:"Payment4"`
	Areas1              int       `gorm:"column:areas1;type:bigint;default:null" json:"areas1" json_old:"Areas1"`
	Areas2              int       `gorm:"column:areas2;type:bigint;default:null" json:"areas2" json_old:"Areas2"`
	Areas3              int       `gorm:"column:areas3;type:bigint;default:null" json:"areas3" json_old:"Areas3"`
	Areas4              int       `gorm:"column:areas4;type:bigint;default:null" json:"areas4" json_old:"Areas4"`
	IP                  string    `gorm:"column:ip;type:varchar(20);default:null;comment:IP地址" json:"ip" json_old:"IP"`
	Remark              string    `gorm:"column:remark;type:varchar(255);default:null;comment:备注" json:"remark" json_old:"Remark"`
	Deleted             int       `gorm:"column:deleted;type:tinyint(1);default:0;comment:0正常 1删除" json:"deleted" json_old:"Deleted"`
	AiFaceMultiple      string    `gorm:"index:AiFaceMultiple;column:ai_face_multiple;type:varchar(10);default:1;comment:人流统计系数" json:"ai_face_multiple" json_old:"AiFaceMultiple"`
	Switch              string    `gorm:"column:switch;type:varchar(500);default:null;comment:机器关键位置开光" json:"switch" json_old:"Switch"`
	Areas5              int       `gorm:"column:areas5;type:bigint;default:null" json:"areas5" json_old:"Areas5"`
	CreatedAt           int64     `gorm:"index:created_at;column:created_at;autoCreateTime;type:int;size:64;comment:创建时间" json:"created_at"`
	NewLastReportedTime int64     `gorm:"column:new_last_reported_time;type:int;size:64;comment:设备最后上报时间" json:"new_last_reported_time"`
	MerchantPath        string    `gorm:"column:merchant_path;type:string;size:200;index:merchant_path;default:null;comment:商户开通路径,如>1>2" json:"merchant_path"`
	MerchantChangedAt   int64     `gorm:"column:merchant_changed_at;type:int;size:64;comment:商户变更时间" json:"merchant_changed_at"`
	PaymentShowType     int       `gorm:"column:payment_show_type;type:tinyint;default:null" json:"payment_show_type" json_old:"payment_show_type"`
}

// TableName get sql table name.获取数据库表名
func (m MaRobot) TableName() string {
	return "ma_robot"
}

// 模式自动注册
func init() {
	Models = append(Models, &MaRobot{})
}
